package main

import (
	"fmt"
)

func main() {
	x := []int{1, 2, 3}
	i := 2
	switch i {
	case x[1]:
		fmt.Println("a")
	case 1, 3:
		fmt.Println("b")
	default:
		fmt.Println("c")
	}
	// 继续下⼀一分⽀支，可使⽤用 fallthrough
	x1 := 10
	switch x1 {
	case 10:
		println("a")
		fallthrough
	case 0:
		println("b")

	}

	switch i := x[2]; { // 带初始化语句
	case i > 0:
		println("a")
	case i < 0:
		println("b")
	default:
		println("c")
	}

	// continue
	var i1 int
	for {
		println(i1)
		i1++
		if i1 > 2 {
			goto BREAK
		}
	}
BREAK:
	println("break")

	// continue, break
	// break 可用于 for、switch、select，
	// 而 continue 仅能用于 for 循环。
L1:
	for x2 := 0; x2 < 3; x2++ {
	L2:
		for y := 0; y < 5; y++ {
			if y > 2 {
				continue L2
				//				continue
			}
			if x2 > 1 {
				break L1
				//				break
			}
			print(x2, ":", y, " ")
		}
		println()
	}

}
